import { createRouter, createWebHistory } from 'vue-router'
import Home from '../views/Home.vue'
import Login from '../views/Login.vue'
import About from '../views/About.vue'

// 定义路由
const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home,
    meta: { requiresAuth: true } // 需要登录才能访问
  },
  {
    path: '/about',
    name: 'About', //给路由起一个唯一的名字，方便在代码中通过名字引用此路由（例如在 `router.push({ name: 'Test' })` 中使用）。
    component: About,
    meta: { requiresAuth: false } // 需要登录才能访问
  },
  {
    path: '/login',
    name: 'Login',
    component: Login
  }
]

// 创建路由实例
const router = createRouter({
  history: createWebHistory(),
  routes
})

// 路由守卫：检查登录状态
router.beforeEach((to, from, next) => {
  // 检查目标路由是否需要登录
  if (to.meta.requiresAuth) {
    // 检查用户是否已登录（这里简单检查localStorage）
    const isLoggedIn = localStorage.getItem('user') !== null
    
    if (!isLoggedIn) {
      // 未登录则重定向到登录页
      return next({ name: 'Login' })
    }
  }
  
  // 继续导航
  next()
})

export default router